home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / mail / pine3.96.tar.gz / pine3.96.tar / pine3.96 / pine / osdep / winextra < prev    next >
Text File  |  1995-01-11  |  986b  |  42 lines

  1. #line 2 "osdep/winextra"
  2.  
  3. /*
  4.  * This function scans the key menu and calls mswin.c functions
  5.  * to build a corresponding windows menu.
  6.  */
  7. void
  8. configure_menu_items (struct key_menu *km, bitmap_t bitmap)
  9. {
  10.     int         i;
  11.     struct key        *k;
  12.     int            key;
  13.     char        cleanLabel[64];
  14.     char        *rb;
  15.  
  16.     mswin_menuitemclear ();
  17.  
  18.     for (i = 0, k = km->keys ; i < km->how_many * 12; i++, k++) {
  19.     if (k->name != NULL && k->label != NULL && bitnset (i, bitmap) &&
  20.         k->menuitem != KS_NONE) {
  21.  
  22.         if (k->name[0] == '^')
  23.         key = ctrl(k->name[1]);
  24.         else if (strcmp(k->name, "Ret") == 0) 
  25.         key = '\r';
  26.         else if (strcmp(k->name, "Spc") == 0) 
  27.         key = ' ';
  28.         else
  29.         key = k->name[0];
  30.  
  31.         if (k->label[0] == '[' && strchr (k->label, ']') != NULL) {
  32.             strcpy (cleanLabel, &k->label[1]);
  33.         rb = strchr (cleanLabel, ']');
  34.         *rb = '\0';
  35.         mswin_menuitemadd (key, cleanLabel, k->menuitem, 0);
  36.         }
  37.         else
  38.             mswin_menuitemadd (key, k->label, k->menuitem, 0);
  39.     }
  40.     }
  41. }
  42.